fn main() {
    println!("Hello, world!");
    f1();
    f2();
    f3()
}

fn f1 () {
    let num1 = 1;
    println!("{}",num1);
    // num1 = 2; //   该行代码会导致变量  因为变量为不可变变量
    println!("{}",num1)

}

fn f2 () {
    let num1 = 1;
    println!("{}",num1);

    let num1 = 2; // shadowing 隐藏  在该处之后的num1是新的值
    println!("{}",num1);

    let num1 = "阿娇啊";

    println!("{}",num1);

}

fn f3 () {
    let mut num1 = 1;
    println!("{}",num1);
    num1 = 2;
    println!("{}",num1)
}


fn f4() {
    
}